/**
 * FlashReport报表综合实例(动态数据源|动态报表类型)
 */
Ext.onReady(function() {

			var rownum = new Ext.grid.RowNumberer({
						header : 'NO',
						width : 28
					});

			var cm = new Ext.grid.ColumnModel([rownum, {
						header : '项目流水号',
						dataIndex : 'prj_sn',
						width : 80,
						sortable : true,
						hidden:true
					},
					{
						header:'项目编号',
						dataIndex:'prj_no',
						sortable:true
					}, {
						header : '项目名称',
						dataIndex : 'prj_name',
						sortable : false
					}]);
			
			var store = new Ext.data.Store({
						proxy : new Ext.data.HttpProxy({
									url : 'xmsbDemo.ered?reqCode=querySfxm'
								}),
						reader : new Ext.data.JsonReader({
									totalProperty : 'TOTALCOUNT',
									root : 'ROOT'
								}, [{
											name : 'prj_sn'
										},{
											name:'prj_no'
										}, {
											name : 'prj_name'
										}])
					});

			var bbar = new Ext.PagingToolbar({
						pageSize : 100,
						store : store,
						displayInfo : true,
						displayMsg : '显示{0}条到{1}条,共{2}条',
						plugins : new Ext.ux.ProgressBarPager(),
						emptyMsg : "没有符合条件的记录",
						items : ['-', '&nbsp;&nbsp;']
					});
			
			var tbar = new Ext.Toolbar({
						items : ['<span class="commoncss">请选择项目状态:</span>',
								new Ext.form.ComboBox({
											id : 'idproduct',
											hiddenName : 'PRJ_STATUS',
											triggerAction : 'all',
											store : new Ext.data.SimpleStore({
														fields : ['value',
																'text'],
														data : [
														        ['1', '策划'],
																 ['2', '成熟'],
																 ['3', '在建'],
																 ['4', '竣工']
														        ]
													}),
											displayField : 'text',
											valueField : 'value',
											mode : 'local',
											forceSelection : true,
											typeAhead : true,
											emptyText:'请选择项目状态',
											editable : false,
											resizable : true,
											width : 140
										})]
					});

			Ext.getCmp('idproduct').on('select', function(obj) {
						store.load({
									params : {
										PRJ_STATUS : obj.value,
										start : 0,
										limit : bbar.pageSize
									}
								});
						updateChart();
					});

			var grid = new Ext.grid.GridPanel({
						title : '<span style="font-weight:normal">年度</span>',
						frame : true,
						width : 250,
						maxSize : 250,
						autoScroll : true,
						region : 'west',
						split : true,
						collapsible : true,
						store : store,
						stripeRows : true,
						cm : cm,
						tbar : tbar,
						bbar : bbar,
						viewConfig : {
			 forceFit : true
						},
						loadMask : {
							msg : '正在加载表格数据,请稍等...'
						}
					});

			store.on('beforeload', function() {
						this.baseParams = {
								PRJ_STATUS : Ext.getCmp('idproduct').getValue()
						};
					});

			store.load({
						params : {
							PRJ_STATUS : Ext.getCmp('idproduct').getValue(),
							start : 0,
							limit : bbar.pageSize
						}
					});
			grid.on('rowclick', function(pGrid, rowIndex, event) {
				updateChart();
			});


			var panel = new Ext.Panel({
						title : '<span style="font-weight:normal">项目费用一览</span>',
						contentEl : 'my2DcChart_div',
						id:'pp',
						region : 'center'
					});

			var viewport = new Ext.Viewport({
						layout : 'border',
						items : [grid, panel]
					});

			function updateChart() {
				var record=grid.getSelectionModel().getSelected();
				var sn="";
				//查看是否记录得到焦点，如果没有被选中，那么就停止程序！
				if (!Ext.isEmpty(record)) 
				{
					sn=record.data.prj_sn;
					Ext.getCmp('pp').setTitle('<span style="font-weight:normal">项目费用一览</span>'+'<span style="color:red;">（编号：'+sn+"）</span>");
				}
				else
				{
					Ext.getCmp('pp').setTitle('<span style="font-weight:normal">项目费用一览</span>');
				}
				Ext.Ajax.request({
						url : 'xmsbDemo.ered?reqCode=queryFeiyongXml',
						success : function(response, opts) {
							var resultArray = Ext.util.JSON
									.decode(response.responseText);
							// Ext.Msg.alert('提示', resultArray.msg);
							var xmlstring = resultArray.xmlstring;
							//关键的一步！
							updateChartXML('my2DcChart', xmlstring);
						},
						failure : function(response, opts) {
							Ext.MessageBox.alert('提示', '获取报表数据失败');
						},
						params : {
							prj_sn:sn
						}
					});
				}
	
		});